Geophysical inversion [1,2] attempts to find a model of subsurface properties that optimally explains observed data and satisfies geological and geophysical constraints. There are a large number of well known methods of geophysical inversion. These well known methods fall into one of two categories, iterative inversion and non-iterative inversion. The following are definitions of what is commonly meant by each of the two categories:                Non-iterative inversion—inversion that is accomplished by assuming some simple background model and updating the model based on the input data. This method does not use the updated model as input to another step of inversion. For the case of seismic data these methods are commonly referred to as imaging, migration, diffraction tomography or Born inversion.        Iterative inversion—inversion involving repetitious improvement of the subsurface properties model such that a model is found that satisfactorily explains the observed data. If the inversion converges, then the final model will better explain the observed data and will more closely approximate the actual subsurface properties. Iterative inversion usually produces a more accurate model than non-iterative inversion, but is much more expensive to compute.        
Two iterative inversion methods commonly employed in geophysics are cost function optimization and series methods. Cost function optimization involves iterative minimization or maximization of the value, with respect to the model M, of a cost function S(M) which is a measure of the misfit between the calculated and observed data (this is also sometimes referred to as the objective function), where the calculated data is simulated with a computer using the current geophysical properties model and the physics governing propagation of the source signal in a medium represented by a given geophysical properties model. The simulation computations may be done by any of several numerical methods including but not limited to finite difference, finite element or ray tracing. Series methods involve inversion by iterative series solution of the scattering equation (Weglein [3]). The solution is written in series form, where each term in the series corresponds to higher orders of scattering. Iterations in this case correspond to adding a higher order term in the series to the solution.
Cost function optimization methods are either local or global [4]. Global methods simply involve computing the cost function S(M) for a population of models {M1, M2, M3, . . . } and selecting a set of one or more models from that population that approximately minimize S(M). If further improvement is desired this new selected set of models can then be used as a basis to generate a new population of models that can be again tested relative to the cost function S(M). For global methods each model in the test population can be considered to be an iteration, or at a higher level each set of populations tested can be considered an iteration. Well known global inversion methods include Monte Carlo, simulated annealing, genetic and evolution algorithms.
Local cost function optimization involves:                1. selecting a starting model,        2. computing the gradient of the cost function S(M) with respect to the parameters that describe the model,        3. searching for an updated model that is a perturbation of the starting model in the gradient direction that better explains the observed data.This procedure is iterated by using the new updated model as the starting model for another gradient search. The process continues until an updated model is found which satisfactorily explains the observed data. Commonly used local cost function inversion methods include gradient search, conjugate gradients and Newton's method.        
As discussed above, iterative inversion is preferred over non-iterative inversion, because it yields more accurate subsurface parameter models. Unfortunately, iterative inversion is so computationally expensive that it is impractical to apply it to many problems of interest. This high computational expense is the result of the fact that all inversion techniques require many compute intensive forward and/or reverse simulations. Forward simulation means computation of the data forward in time, and reverse simulation means computation of the data backward in time.
Due to its high computational cost, iterative inversion often requires application of some type of approximation that speeds up the computation. Unfortunately, these approximations usually result in errors in the final inverted model which can be viewed as artifacts of the approximations employed in the inversion.
What is needed is a general method of iteratively inverting data that allows for the application of approximations without generating artifacts in the resulting inverted model. The present invention satisfies this need.